home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AGA Toolkit '97
/
The AGA Toolkit '97.iso
/
workbench
/
blanker
/
multiblank
/
developers
/
developer.doc
next >
Wrap
Text File
|
1996-09-07
|
3KB
|
67 lines
Writing a module for MBlank is quite simple. Your code must perform a few
basic functions but the rest is up to you.
1. When your module is run it must create a public message port with the
name "MBlank" and then wait for messages from MultiBlank. MultiBlank uses
the creation of the port as an indicator that everything went well and
that the module is ready to go.
2. MultiBlank trys to keep it's messages coherent but this is not guaranteed
so I suggest that variables set in the "blanking" procedure are unset in
that "clearing" procedure, e.g. screen pointers, and tested for validity
before use.
3. Names for pref files should be derived from the program name returned by
DOS's GetProgramName (). This is because the user might want several
copies of your module with different settings, e.g. my execution module.
4. If your blanking procedure uses a loop then check for signals from the
port as often as possible using SetSignal () and try to respond quickly.
5. You should also check for SIGBREAKF_CTRL_C so that a module can be stopped
if run from a CLI by accident.
The messages you will recieve are as follows:
MBMT_INIT - initiate any resources your module requires. Doing it this way
provides for easier interaction with MultiBlank. Set the
"success" field to TRUE or FALSE depending on success and the
"flags" field depending on availablity of the info and config
functions. If the module fails you will be sent a MBMT_QUIT
message straight away. This is why varibles should always be
set and cleared.
MBMT_BLANK - start the blanking procedure. Allocate anything needed temp.
like screens and windows. Set the "success" field.
MBMT_CLEAR - unblank the screen. Deallocate anything allocated in the
blanking procedure.
MBMT_INFO - put the module information requester up. The message contains
pointers to MultiBlank's screen and window. The requester
should use these as in the example. Again, the "success" field
requires setting before you Reply (). On failure MultiBlank
puts it's own requester up. The requesters title should be
"Module Information"
MBMT_CONFIG - put up the module config window. Much like MBMT_INFO but you
will probably be using a window of you own, not a requester.
Use the screen and window fields to centre your window on
MultiBlank's. "success" requires setting. The title is up to
you but I suggest the module's real name (not the one from
GetProgramName ()).
MBMT_QUIT - Deallocate resources allocated in MBMT_INIT and remove message
port then quit.
When it's finished copy it to your module directory with the extention
".mbmod"
To program a safe module use the philosophy of "check everything". Your
module will not be sent MBMT_INFO or MBMT_CONFIG unless you set the "flags"
field in the MBMT_INIT message accordingly.
The example code and include file should answer any questions, but I have an
email address if you need more help.
Simon